package com.yswy.common.enums;

import com.yswy.common.exception.ICommonMessage;
import io.swagger.annotations.ApiModel;

/**
 * 描述：
 * @author yanwei
 */
@ApiModel
public enum MsgEnum implements ICommonMessage {

    //常用
    SUCCESS(100, "成功"),
    SYSTEM_ERROR(500, "系统异常"),

    //1000
    VALIDATE_ERROR(1000, "参数不能为空或者校验失败"),
    SYSTEM_CONFIG_ERROR(1001, "系统参数缺失"),
    FILE_NOT_NULL(1002, "上传文件不能为空"),
    FILE_FORMAT_EXCEPTION(1003, "上传文件格式不对"),
    FILE_NAME_FORMAT_EXCEPTION(1004, "上传文件名格式异常"),

    /**
     * 文件上传
     */
    EXCEL_NAME_ERROR(2000, "excel文件名称错误"),
    EXCEL_IMPORT_ERROR(2001, "excel文件上传异常"),
    EXCEL_IMPORT_DATA_IS_NULL(2002, "上传数据不能为空"),
    EXCEL_SHEET_NAME_NOT_FOUND(2003, "找不到对应sheet"),
    NUMBER_FORMAT_EXCEPTION(2005,"数据格式错误"),
    //找不到类别
    RECIPES_CATEGORY_NOT_FOUND(2006,"找不到对应食谱类别,请仔细检查"),
    /**
     * 食谱
     */
    RECIPES_ITEM_NOT_FOUND(2008,"找不到对应食谱明细"),

    /**
     * 报表相关
     * */
    REPORT_CONFIG_NOT_FOUND(3001,"找不到报表配置信息"),

    /**
     * 苹果支付
     * */
    APPLE_PAY_ERROR_20000(20000,"查询订单返回包名有误"),
    APPLE_PAY_ERROR_20001(20001,"苹果支付异常"),
    APPLE_PAY_ERROR_20002(20002,"receipt数据有问题"),
    APPLE_PAY_ERROR_21000(21000,"未使用HTTP POST请求方法向App Store发送请求。"),
    APPLE_PAY_ERROR_21001(21001,"此状态代码不再由App Store发送。"),
    APPLE_PAY_ERROR_21002(21002,"receipt-data属性中的数据格式错误或丢失。"),
    APPLE_PAY_ERROR_21003(21003,"收据无法认证。"),
    APPLE_PAY_ERROR_21004(21004,"您提供的共享密码与您帐户的文件共享密码不匹配。"),
    APPLE_PAY_ERROR_21005(21005,"收据服务器当前不可用。"),
    APPLE_PAY_ERROR_21006(21006,"该收据有效，但订阅已过期。当此状态代码返回到您的服务器时，收据数据也会被解码并作为响应的一部分返回。仅针对自动续订的iOS 6样式的交易收据返回。"),
    APPLE_PAY_ERROR_21007(21007,"该收据来自测试环境，但已发送到生产环境以进行验证。"),
    APPLE_PAY_ERROR_21008(21008,"该收据来自生产环境，但是已发送到测试环境以进行验证。"),
    APPLE_PAY_ERROR_21009(21009,"内部数据访问错误。请稍后再试。"),
    APPLE_PAY_ERROR_21010(21010,"系统找不到用户帐户，或者该用户帐户已被删除。"),

    ;

    private final int code;
    private final String message;

    MsgEnum(int code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public int getCode() {
        return this.code;
    }

    @Override
    public String getMessage() {
        return this.message;
    }

}
